@namespace AntDesign
@inherits AntDomComponentBase
<CascadingValue Value="@($"#ant-drawer-wrap_{Id} .ant-drawer-wrapper-body")" Name="PopupContainerSelector">
    <div class="@ClassMapper.Class" @ref="@Ref" style="@_drawerStyle @InnerZIndexStyle @Style" id="@Id">
        @if (Mask && Visible)
        {
            <div class="ant-drawer-mask" @onclick="MaskClick" style="@MaskStyle"></div>
        }
        <div class="ant-drawer-content-wrapper @WrapClassName " style="@WrapperStyle" id="@($"ant-drawer-wrap_{Id}")">
            <div class="ant-drawer-content">
                <div class="ant-drawer-wrapper-body" style="@(IsLeftOrRight?"height:100%":"")">
                    @if (_title.Value != null || Closable)
                    {
                        <div class="@TitleClassMapper.Class" style="@HeaderStyle">
                            @if (_title.Value != null)
                            {
                                <div class="ant-drawer-title">
                                    @if (TitleTemplate != null)
                                    {
                                        @TitleTemplate
                                    }
                                    @if (!string.IsNullOrEmpty(TitleString))
                                    {
                                        @((MarkupString)TitleString)
                                    }
                                </div>
                            }
                            @if (Closable)
                            {
                                <button @onclick="_=>CloseClick()" type="button" aria-label="Close" class="ant-drawer-close">
                                    <Icon Type="close" />
                                </button>
                            }
                        </div>
                    }
                    <div class="ant-drawer-body" style="@BodyStyle">
                        @if (ContentTemplate != null)
                        {
                            @ContentTemplate
                        }
                        @if (!string.IsNullOrEmpty(ContentString))
                        {
                            @((MarkupString)ContentString)
                        }
                        @ChildContent
                    </div>
                </div>
            </div>
            @if (Handler != null)
            {
                @Handler
            }
        </div>
    </div>
</CascadingValue>
